package com.dyzx.hbb.modules.attendance.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class AttendanceLeaveCategoryVO {

    /**
     * 请假类型名称
     */
    @JsonProperty("name")
    @NotNull(message = "请输入请假类型名称")
    private String name;

    /**
     * 请假类型描述
     */
    @JsonProperty("description")
    @NotNull(message = "请输入请假类型描述")
    private String description;

    /**
     * 是否需要审批：默认(1),1-不需要，2-需要
     */
    @JsonProperty("need_approval")
    @NotNull(message = "请输入是否需要审批")
    private Integer needApproval;

    /**
     * 最大请假天数（-1表示无限制）
     */
    @JsonProperty("max_days")
    @NotNull(message = "请输入最大请假天数")
    private Integer maxDays;

    /**
     * 是否扣工资：默认(1),1-不扣，2-扣
     */
    @JsonProperty("deduct_salary")
    @NotNull(message = "请输入是否扣工资")
    private Integer deductSalary;



    /**
     * 扣工资比例（0-1之间的小数）
     */
    @JsonProperty("salary_seduction_rate")
    @NotNull(message = "请输入扣工资比例")
    private Double salarySeductionRate;

    /**
     * 是否计入年假：默认(1),2-计入，1-不计入
     */
    @JsonProperty("count_annual_leave")
    @NotNull(message = "请输入是否计入年假")
    private Integer countAnnualLeave;

    /**
     * 请假类型：默认(1),1-休息，2-请假，3-病假
     */
    @JsonProperty("type")
    @NotNull(message = "请输入请假类型")
    private Integer type;
}
